# Agora Plan - a [[plan]]. - #pull [[agora]] ## Introduction The [[Agora]] is a project with a large [[scope]], so it takes a minute to explain what it's all about, and what the vision this plan tries to advance is. If you'd like a quick introduction to the Agora as of mid 2021, please check out [[go/agora-slides]]. You can also refer to [[go/agora]], that is the documentation in the [[root repository]] currently hosted on [[github]]. ## What this node is for This node is used as a project planning page for the [[Agora]] implementation you're likely reading this in now: . As you might know by now, an Agora is a beast with multiple legs: - A [[knowledge graph]]. This is the heart of the [[Agora]]. It is kept in the [[go/agora]] repo, and includes pointers to other repositories. - A web server and associated client code, which the [[flancia collective]] runs on https://anagora.org. It is kept in the [[go/agora-server]] repo. - A set of bridges to connect other platforms to the [[agora]], and the Agora to to [[other platforms]]. These are kept in the [[go/agora-bridge]] repository. This node might deal with development of any and all of them. We will try to list past major developments below, but this node will try to also be [[future focused]]. ## Next - [[agora]] - new users are trickling into the community, although the signup process is still manual; need to ship the repo api in [[agora bridge]] to improve the sinup flow. - considering [[logseq]] and [[tiddlywiki]] as recommended web clients. - [[agora server]] - looking better than six months ago, but needs work - [[better parsing]] - blocks [[auto push]]? - perhaps not for inline (same line) pushes - [[agora bridge]] - need to have [[agora twitter bot]] call out to [[repo api]] to store nodes per-user - need to have [[agora mastodon bot]] automatically respond to toots with [[patterns]] from followers - [[patterns everywhere]] - new name for [[wikilinks everywhere]], [[vera]] leading - [[flancia]] - need to work more on [[building bridges]] - [[flancia collective]] - need to explore [[governance]] - [[vera]] started [[flancia social impact]] ## Previously - On [[2021-11-06]]: - Lots have happened. I gave up trying to maintain this for a while, instead using my journals and a transitive subset of the [[Agora]] to document the development process. - See [[flancia collective]], [[agora discuss]], [[journals]]. - On [[2021-01-30]] - onboarded [[enki]] - [[nodes]] are now color coded: - [[dark violet]] for the [[primary node]], that is, any subnodes that match the wikilink you're at most precisely. - [[dark grey]] for [[pulled]] and [[pushed]] nodes and subnodes. - On [[2020-01-02]] I implemented [[jump]] - I said: "I'll implement the action and a 'jump'/ dialog always available in the Agora, perhaps replacing search in the [[toolbar]]." - Done! - Q: is 'go to' better than jump? I don't think so, and it could be confusing due to go links. But unsure. - On [[2020-01-01]] I fixed node titles. - On [[2020-12-29]] I pushed a quick patch that upranks all my subnodes, as some top subnodes in relatively popular nodes had formatting issues / were distracting. I intend this to be temporary; better ranking and formatting fixes are coming. - On [[2020-12-27]] I released [[agora 0.5.6]] with [[pull]] support, better db code, caching... quite a bit :) - On [[2020-12-20]] I worked [[agora 0.5.5]], which adds simple [[hypothes.is]] integration. - Fixed the fact that [[back]] [[links]] didn't work in non-existent nodes (even when there are backlinks, that is). - Prepared CSS/html for pull, push, forward links. - On [[2020-12-04]] I released [[agora 0.5.4]], with some improvements: - New data model (digital gardens are not subtree'd in the main [[agora repository]] anymore, stay wholly independent) - Index page is now just another node, subnodes can be contributed by users. - On [[2020-11-29]] I integrated the first community contribution ever. - On [[2020-11-27]] I fixed some bugs, like wikilinks with periods on their names not working. - On [[2020-11-22]] implemented count of subnodes in user pages. - [x] Added *some amount* of go links support: anagora.org/go/go now works :), points to the URL with [[go]] in anagora.org/node/go. - On [[2020-11-17]] implemented [[latest]]. - On [[2020-11-16]] I implemented [[agora fuzzy matching]] and full text search, adopted a div based layout, improved the CSS, improved user pages. - On [[2020-11-15]] I implemented dark mode (press on 'theme' on the top right corner to switch dark <-> light). - On [[2020-11-14]] I released [[agora 0.5.1]]. ## Signups - [x] [[pen-coded]]: https://github.com/KGBicheno/KGB_Agora - [x] [[luciana]]: https://github.com/malfattti/garden - [x] [[arghzero]] - [x] [[dr_kvj]]: https://github.com/drkvj/agora - [x] [[jonathan-the-utopian]] - [ ] [[enkiv2]]: http://www.lord-enki.net/medium-backup/ - [ ] what about all of the ones licensed appropriately listed in [[kasper zutterman]]'s [[second brain]] list? https://github.com/KasperZutterman/Second-Brain - Discussing with [[armengolaltayo]] - [ ] See also [[digital gardeners]] - [ ] [[iplumb3r]] - This seems to be in [[topincs]] format, investigate. - [x] [[houshuang]] - [ ] [[joelchan86]] - [x] [[tilda]] - [x] [[binnyva]] - [ ] [[jakeisnt]] - [[blocked]] on [[org mode]] - [ ] TomCassidy - [ ] It's a public roam graph: https://roamresearch.com/#/app/Learn2020zettelkasten - [ ] [[metasj]] https://meta.wikimedia.org/wiki/User:Sj/! - First user actually using a wiki! ## Integrations - [[agora-go-links-integration]] - [[agora twitter integration]] - [[agora-youtube-integration]] - [[agora hypothesis integration]] - [[roam2agora]] - [[agora vscode]] - [[wikilinks everywhere]] ## Next - [ ] all http mentions should be auto linked, not only some: https://twitter.com/notverapetrova/status/1346258737204400128 - Worked around this, but I should probably send an upstream PR to [[bleach]] - [ ] try rendering notes with [[marko]], see if it's a bit more forgiving with list indentation and other kinks that seem common. - [ ] add support for org mode gardens - signup by [[jakeisnt]] is blocked on this: https://github.com/jakeisnt/wiki - signup by [[karlicoss]] is blocked on this: https://github.com/karlicoss/exobrain.git - this might be enough to unlock basic [[logseq]] support? - [[orgparse]] might be useful - [[pandoc]] supports org - [ ] I should make node [[0.5.6]] work - [ ] graph the whole Agora -- sounds fun! - [ ] Implement pull and push. - [x] Define divs for 'pulled' and 'pushed' sections - Write functions that return [[pull]] and [[push]] entities in each subnode - [ ] Make more links default to node instead of subnode. - For example those in latest, those in user pages. - Might require 'upranking'. - [ ] set up [[agora]] hot spare in [[dorcas]], this is an experiment but I already find it very useful so I don't want to not have it available for a while if there's a server failure - [ ] add monitoring -- [[munin]] or something more modern? [[prometheus]]? - [ ] Implement /node/foo/selector as more resilient/uniform alternative to /subnode. - [ ] Implement user upranking/pinning. - Perhaps nodes visited from a user scope uprank subnodes by that user? - [ ] https://twitter.com/s5bug/status/1334686375275163652?s=09 - [ ] Provide a link (GET) for the search for '\[ \]', useful for [[do]]. - [ ] Add better backlinks, showing some context. - [ ] Make the site header be marked as an actual header (div with a class, etc.); Google seems to think it's part of the site text (it's showing up in results). - [ ] Fix markdown list formatting issue with different tab widths. - [ ] add footer. - Implement preview-on-hover? - Implement "around the Agora". - [ ] add /latest or some other chronological view - [ ] User profiles: perhaps just note [[flancian]] as written by user [[flancian]]? Unsure. - [[s5bug]] suggested using [[README]] in gardens for this. Makes sense. - [ ] Make the index be just another note [[ding-levery]]. - [ ] Improve backlinks: show snippets as well as just the link. - [ ] Improve pull loop to also support arbitrary hooks, like that needed to implement [[agora go links integration]]. - [ ] Multi user improvements: - Better sorting (right now all my notes show up at the top, doesn't make sense). - Ability to "zoom into" a user, to navigate just their garden for a while. - [ ] Perhaps ability to "uprank" users, pinning their notes to the top of any sorting order. - [ ] Perhaps sort+uprank can be integrated? - [ ] usernames could have a 'pin' emoji that upranks all their posts? - [ ] Implement search (full text). - [ ] Add support for media serving (useful for pictures of [[ocell]]). - assets/foo end up at node/assets/foo; just adding a handler for node/assets/ seems like it could be enough. - It would conflict with a node named 'assets' though, so perhaps it's not ideal. - Perhaps it'd be better to just serve images/media as subnodes? - [ ] Add monitoring/alerting. ## Some day: - When you update a node on a [[person]], said person gets a notification (they can opt out). - Support [[Roam]], [[Athens]], [[org-roam]] digital gardens. - Twitter integration -> [[agora twitter integration]] - Ask [[ding levery]]. - Automatic [[actions]] -> [[agora action]]s -> [[agora action]] - [[tweet]] block tweets the block (exactly once, etc.). - [[go links]] integration -> [[agora go links integration]] - If the first block of [[foo]] is a URL, anagora.org/go/foo just redirect there. - Could also work as an action: [[go]] target URL. ## Feature requests - [[pull]] [[feature requests]] ## History - [x] fix bug: backlinks should be shown even in yet non-existent nodes, such as [[deceased]]. - [x] Clean up stale journal pages which don't follow [[iso 8601]]. - [x] Add config.py file with things such as paths. - [x] Add user handler: /u - /u/flancian -> all nodes by flancian - /node/flancia/u/flancian -> flancia by flancian - Also added @flancian. Shorter is better, and it's a common convention. - perhaps /g/ for groups later? or /s/ for stoa. - [x] Add 'link to this note'. - Now called subnode. - Subnode rendering is ready, just need to add links. - Perhaps I need to fix subnode paths; right now they are the actual filename. It'd be better if there was at least possible to specify the filename base (no extension) and have the right file be resolve, a la nodes. - [x] add some search support -- a simple textbox + GET? - Probably want to use [[flask-wtf]] for this: https://hackersandslackers.com/flask-wtforms-forms/ - [x] better css - [x] Add '[[dark mode]]' to the Agora, I like this kind of scheme: https://twitter.com/ablueaeshna/status/1323439284272222208/photo/1 - [x] added switching by button - Make subnodes/notes look like notes instead of using clunky ```
``` everywhere. Move to divs, etc. - [x] Improve the [[index]]. - [x] Implement [[agora fuzzy matching]]. - Done - [ ] but backlinks don't work in some cases, like . - Probably not worth fixing that right now as it only triggers for nodes that are not canonical, perhaps better to just redirect to a canonical node. - [ ] could help with disambiguation and acronym expansion